﻿using Echart.Model.Label;
using Echart.Model.LineStyle;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Echart.Model.AxisPointer
{
    public class axisPointer
    {
        /// <summary>
        /// 组件 ID
        /// </summary>
        public string id { get; set; }

        /// <summary>
        /// 是否显示提示框组件，包括提示框浮层和 axisPointer。
        /// </summary>
        public bool? show { get; set; }

        /// <summary>          
        /// 指示器类型。可选
        /// 'line' 直线指示器
        /// 'shadow' 阴影指示器
        /// 'none' 无指示器
        /// </summary>
        public string type { get; set; }

        /// <summary>
        /// 坐标轴指示器是否自动吸附到点上
        /// </summary>
        public bool? snap { get; set; }

        /// <summary>
        /// 坐标轴指示器的 z 值
        /// </summary>
        public double? z { get; set; }

        /// <summary>
        /// 文字
        /// </summary>
        public label label { get; set; }

        /// <summary>
        /// 线条风格
        /// </summary>
        public lineStyle lineStyle { get; set; }

        /// <summary>
        /// 阴影风格
        /// </summary>
        public object shadowStyle { get; set; }

        /// <summary>
        /// 是否触发 tooltip
        /// </summary>
        public bool? triggerTooltip { get; set; }

        /// <summary>
        /// 浮层隐藏的延迟，单位为 ms，在 alwaysShowContent 为 true 的时候无效。
        /// </summary>
        public double? value { get; set; }

        /// <summary>
        /// 当前的状态
        /// </summary>
        public bool? status { get; set; }

        /// <summary>
        /// 拖拽手柄，适用于触屏的环境
        /// </summary>
        public object handle { get; set; }

        /// <summary>
        /// 不同轴的 axisPointer 进行联动
        /// </summary>
        public Array[] link { get; set; }

        /// <summary>
        /// 提示框触发的条件，可选：
        /// 'mousemove'    鼠标移动时触发。
        /// 'click'    鼠标点击时触发。
        /// 'none'    不在 'mousemove' 或 'click' 时触发。
        /// </summary>
        public string triggerOn { get; set; }
    }
}
